From: Raspbian forward porter Date: Fri, 5 Sep 2025 05:53:13 +0000 (+0000) Subject: Import nextcloud-desktop_3.16.4-1+rpi1.debian.tar.xz X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~9^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=69dcfae6fe2a2907f9bc9fe04e1742fb50f5c90a;p=nextcloud-desktop.git Import nextcloud-desktop_3.16.4-1+rpi1.debian.tar.xz [dgit import tarball nextcloud-desktop 3.16.4-1+rpi1 nextcloud-desktop_3.16.4-1+rpi1.debian.tar.xz] --- 69dcfae6fe2a2907f9bc9fe04e1742fb50f5c90a diff --git a/README.source b/README.source new file mode 100644 index 000000000..c019cdefa --- /dev/null +++ b/README.source @@ -0,0 +1,8 @@ +We switched to gbp right now. For new releases please use + +gbp import-orig --pristine-tar --uscan + +Cheers + +Alf Gaida + diff --git a/caja-nextcloud.install b/caja-nextcloud.install new file mode 100644 index 000000000..031922318 --- /dev/null +++ b/caja-nextcloud.install @@ -0,0 +1 @@ +usr/share/caja-python/extensions/syncstate-Nextcloud.py diff --git a/changelog b/changelog new file mode 100644 index 000000000..2e598bdc7 --- /dev/null +++ b/changelog @@ -0,0 +1,472 @@ +nextcloud-desktop (3.16.4-1+rpi1) trixie-staging; urgency=medium + + [changes brought forward from 3.16.2-1+rpi1 by Peter Michael Green at Wed, 30 Apr 2025 03:46:17 +0000] + * Remove armhf from qtwebengine architecture lists. + + -- Raspbian forward porter Fri, 05 Sep 2025 05:53:13 +0000 + +nextcloud-desktop (3.16.4-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Remove postal address of Free Software Foundation in d/copyright. + + -- Sandro Knauß Sat, 03 May 2025 23:57:43 +0200 + +nextcloud-desktop (3.16.2-1) unstable; urgency=medium + + * New upstream release. + * remove upstream applied patch. + * Update patch hunks. + + -- Sandro Knauß Sat, 05 Apr 2025 20:14:42 +0200 + +nextcloud-desktop (3.16.0-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Add Patch to fix build with WebEngine=OFF. + * Move most B-D to B-D-Arch in order to reduce installed B-Ds for clean. + * Fix the detection of arch only mode (Closes: #1098579). + * Remove not needed filenamemangle from d/watch. + * Update source lintian-overrides. + * Bump Standards-Version to 4.7.2 (No changes need). + * Remove unsused license block. + + -- Sandro Knauß Sun, 09 Mar 2025 12:31:15 +0100 + +nextcloud-desktop (3.15.3-1) unstable; urgency=medium + + * New upstream release 3.15.3 (Closes: #1095909). + * Move some dependecies to B-D-Arch. + * rewrite block in d/rules {dh_override,execute_before}_dh_auto_build. + * Build less for arch indep build. + + -- Sandro Knauß Sat, 15 Feb 2025 03:29:54 +0100 + +nextcloud-desktop (3.15.2-2) unstable; urgency=medium + + * Another backport to proper fix #1091614. + + -- Sandro Knauß Sun, 05 Jan 2025 23:19:03 +0100 + +nextcloud-desktop (3.15.2-1) unstable; urgency=medium + + [ Christian Göttsche ] + * Enable LTO + + [ Sandro Knauß ] + * New upstream release 3.15.2. + * update build depends. + * Build without WebEngine, when not available on the host system. + * nocheck handling is fixed with debhelper >= 13. + * Revert patch to fix "nextcloud enters busy loop when using a share on NTFS" + (Closes: #1091614) + + -- Sandro Knauß Sun, 05 Jan 2025 22:05:01 +0100 + +nextcloud-desktop (3.15.0-1) unstable; urgency=medium + + * New upstream release 3.15.0 fix CVE-2024-52510 (Closes: #1087885). + * Use dh_qmldeps to detect QML dependencies. + * Release to unstable. + + -- Sandro Knauß Wed, 04 Dec 2024 19:52:37 +0100 + +nextcloud-desktop (3.14.1-1) experimental; urgency=medium + + * New upstream release 3.14.1 fix CVE-2024-46958 (Closes: #1082041) + * Update build-deps and deps with the info from cmake. + * Update patch hunks. + * Switch build to Qt6. + * Build dolphin 6 plugin. + * Use pkgkde-getqmldepends to detect qml depends. + * Add qml depdendecies to Build-Depdends. + * Add Multi-Arch: foreign to Arch:all packages. + * Update lintian-overrides. + + -- Sandro Knauß Sun, 06 Oct 2024 12:03:23 +0200 + +nextcloud-desktop (3.13.2-2) unstable; urgency=medium + + [ Christian Göttsche ] + * Clean generated images for building twice (Closes: #1045199) + + -- Sandro Knauß Thu, 01 Aug 2024 20:19:18 +0200 + +nextcloud-desktop (3.13.2-1) unstable; urgency=medium + + [ Christian Göttsche ] + * New upstream version 3.13.2 + + * d/patches: rebase + * d/changelog: fix typos + * d/control: bump std-version to 4.7.0 (no further changes) + * debian: update Lintian override + * d/copyright: drop superfluous file + * d/control: replace pkg-config with pkgconf + + [ Sandro Knauß ] + * Add patch to show the upstream GIT_SHA1 from tarball. + * Need to explicitly import pkg-info.mk for DEB_VERSION. + + -- Sandro Knauß Tue, 30 Jul 2024 23:06:32 +0200 + +nextcloud-desktop (3.11.0-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. Closes: #1063172 + + -- Benjamin Drung Wed, 28 Feb 2024 22:52:48 +0000 + +nextcloud-desktop (3.11.0-1) unstable; urgency=medium + + [ Michael Biebl ] + * Non-maintainer upload. + * Do not install legacy /usr/share/cloud-provider directory. + Since libcloudproviders 0.3.3+ the integration points are now directly + specified in the .desktop file. This avoids that Nautilus shows + Nextcloud shares twice. (Closes: #1056327) + + [ Sandro Knauß ] + * New upstream release (3.11.0). + + -- Sandro Knauß Tue, 12 Dec 2023 12:42:22 +0100 + +nextcloud-desktop (3.10.0-1) unstable; urgency=medium + + * New upstream release (3.10.0). + * Update lintian-overrides. + + -- Sandro Knauß Sun, 08 Oct 2023 00:39:51 +0200 + +nextcloud-desktop (3.9.0-1) unstable; urgency=medium + + [ Sandro Knauß ] + * New upstream release (3.9.0). + + -- Sandro Knauß Thu, 29 Jun 2023 23:07:35 +0200 + +nextcloud-desktop (3.7.3-1) unstable; urgency=medium + + * New upstream release. + + -- Sandro Knauß Wed, 15 Feb 2023 15:00:39 +0100 + +nextcloud-desktop (3.7.0-2) unstable; urgency=medium + + * Update patch: Need to set RPATH/RUNPATH for dolphin plugin. + * Add lintian-overrides for Dolphin plugin. + + -- Sandro Knauß Sat, 04 Feb 2023 18:25:03 +0100 + +nextcloud-desktop (3.7.0-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Remove upstream applied patch. + * Add missing build-dependency libkf5archive-dev. + * Bump Standards-Version (No changes needed). + * KDE CMake actions are used to install dolphin plugin. + * Update install locations of dolphin plugin. + * Remove dolphin plugin lintian overrides. + * Add patch to remove Qt GuiPrivate usage. + + -- Sandro Knauß Fri, 03 Feb 2023 19:17:42 +0100 + +nextcloud-desktop (3.6.4-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Remove upstream applied patch. + * Update QML dependencies. + + -- Sandro Knauß Tue, 13 Dec 2022 13:13:22 +0100 + +nextcloud-desktop (3.6.1-1) unstable; urgency=medium + + [ Rik Mills ] + * disable building with LTO to prevent segfault on startup + + [ Sandro Knauß ] + * New upstream release. + * Make blhc happy. + * Update lintian-overrides. + + -- Sandro Knauß Thu, 10 Nov 2022 01:11:22 +0100 + +nextcloud-desktop (3.6.0-2) unstable; urgency=medium + + [ Andrea Pappacoda ] + * d/control: depend on qml-module-qtquick-dialogs (Closes: #1020223) + + -- Sandro Knauß Sat, 24 Sep 2022 14:54:55 +0200 + +nextcloud-desktop (3.6.0-1) unstable; urgency=medium + + [ Nathan Pratta Teodosio ] + * Compatibility with older python3-nautilus (Closes: #1019087) + + [ Sandro Knauß ] + * New upstream release. + * Update patch hunks. + + -- Sandro Knauß Thu, 08 Sep 2022 11:25:47 +0200 + +nextcloud-desktop (3.5.4-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Use librsvg2-bin instead of inkscape as build dependency as it is much + smaller. + * Update lintian-overrides. + + -- Sandro Knauß Fri, 19 Aug 2022 00:13:56 +0200 + +nextcloud-desktop (3.5.1-2) unstable; urgency=medium + + [ Andrea Pappacoda ] + * d/control: depend on qml-module-qt-labs-platform (Closes: #1012309) + + -- Sandro Knauß Mon, 20 Jun 2022 23:55:25 +0200 + +nextcloud-desktop (3.5.1-1) unstable; urgency=medium + + [ Sandro Knauß ] + * New upstream release. + * Update build-deps and deps with the info from cmake. + * update patch hunks. + * Update copyright file for 3.5.1. + * Bump Standards-Version to 4.6.1 (No changes needed). + + [ Colomban Wendling ] + * Fix cmake dependency + + -- Sandro Knauß Wed, 18 May 2022 21:26:31 +0200 + +nextcloud-desktop (3.4.2-1) unstable; urgency=medium + + * New upstream release. + * Update patch hunks. + * Update copyright file for 3.4.2. + * Update lintin-overrides to match again for 3.4.2. + + -- Sandro Knauß Tue, 22 Feb 2022 15:34:55 +0100 + +nextcloud-desktop (3.3.5-1) unstable; urgency=medium + + * New upstream version v3.3.5. (Closes: #995451) + + -- Sandro Knauß Wed, 06 Oct 2021 10:30:44 +0200 + +nextcloud-desktop (3.3.3-1) unstable; urgency=medium + + [ Christian Göttsche ] + * Ignore missing fortify flags for blhc via ignore command + + [ Philippe Ombredanne ] + * Use correct Apache 2.0 reference not LGPL + + [ Sandro Knauß ] + * New upstream release v3.3.3. (Closes: #993037) + * Fix install path for vfs plugins. (Closes: #992986) + * Remove unused overrides. + + -- Sandro Knauß Wed, 15 Sep 2021 13:49:52 +0200 + +nextcloud-desktop (3.3.1-2) unstable; urgency=medium + + * Fix path to match every arch. + + -- Sandro Knauß Mon, 23 Aug 2021 13:40:56 +0200 + +nextcloud-desktop (3.3.1-1) unstable; urgency=medium + + * New upstream release (Closes: #989846). + * Update patches: + - Remove backported patches. + - Update patch to apply for new version. + - Update hunks. + * Update build-dependencies. + * Bump Standards-Version. + * Follow upstreams rename of internal library libocsync -> libnextcloud_csync. + * Add libraries to support vfs to nextcloud-desktop package. + * Remove unused copyright block. + * Update lintian-overrides files. + + -- Sandro Knauß Sun, 22 Aug 2021 21:40:03 +0200 + +nextcloud-desktop (3.1.1-2) unstable; urgency=medium + + * Add two upstream patches to fix CVE-2021-22879 (Closes: #987274): + 013f3cea70acfe7b701cb73c93744d5ff5c0c213 + e97b7d8a25d3ef0d8c52b6399f304a42a5d4f212 + into Validate-sensitive-URLs-to-onle-allow-http-s-schemes.patch + with small modifications to apply to the version in Debian + + -- Sandro Knauß Sat, 08 May 2021 19:39:35 +0200 + +nextcloud-desktop (3.1.1-1) unstable; urgency=medium + + [ Christian Göttsche ] + * New upstream version 3.1.1 + * Refresh patches and refactor version patch + * Add patch to drop Qt5::GuiPrivate dependency + * Ignore deprecated-declarations warnings + * Update standards version to 4.5.1, no changes needed. + * Fix misspelling + * Please blhc + + [ Sandro Knauß ] + * Disable updater via CMake BUILD_UPDATER and not via patch. + * Rename patches to have a clear order. + + -- Sandro Knauß Tue, 19 Jan 2021 14:56:40 +0100 + +nextcloud-desktop (3.0.1-3) unstable; urgency=medium + + * Fix typo: qml-module-qtqml-modules2 -> qml-module-qtqml-models2. + (Closes: #970900) + + -- Sandro Knauß Sat, 26 Sep 2020 13:18:40 +0200 + +nextcloud-desktop (3.0.1-2) unstable; urgency=medium + + * Add missing qml dependencies. (Closes: #969576) + * fix typo + + -- Sandro Knauß Thu, 24 Sep 2020 21:22:24 +0200 + +nextcloud-desktop (3.0.1-1) unstable; urgency=medium + + [ Sandro Knauß ] + * New upstream release (Closes: #968240). + * Use dh-sequence-addon to simplify rules. + * Remove upstream applied patch. + * Update patches. + * update copyright to reflect changes in 3.0.1. + * Update lintian-overrides + * Use jdupes to remove duplicates in doc package. + + [ Christian Göttsche ] + * Add libqt5svg5-dev and qtquickcontrols2-5-dev to build-dependencies + * Adjust .desktop installation name + + -- Sandro Knauß Wed, 02 Sep 2020 15:27:42 +0200 + +nextcloud-desktop (2.6.4-1) unstable; urgency=medium + + * New upstream release (Closes: #955303). + * Update patch hunks. + * Update patch 0004-sane-cmake.patch for new upstream version. + * Update renamed lintian tag names in lintian overrides. + * Set upstream metadata fields: Bug-Submit. + * Update standards version to 4.5.0, no changes needed. + * Bump to dephelper 13. + * delete .buildinfo after dh_sphinxdoc and not inside dh_missing. + * Remove dh-python3 from build-dependencies. + * Add Built-Using: ${sphinxdoc:Built-Using} to the document package. + + -- Sandro Knauß Mon, 04 May 2020 00:11:20 +0200 + +nextcloud-desktop (2.6.2-1) unstable; urgency=medium + + * New upstream release. + * Remove upstream applied patches. + * Update patch hunks. + * Update 0004-sane-cmake.patch for 2.6.2. + * Upstream actually ships gz and not xz tarballs. + * Add Rules-Requires-Root: no. + * Add upstream metadata file. + + -- Sandro Knauß Sun, 12 Jan 2020 12:28:23 +0100 + +nextcloud-desktop (2.6.1-3) experimental; urgency=medium + + * Use python3-caja instead of python-caja (Closes: #945674). + + -- Sandro Knauß Tue, 17 Dec 2019 22:28:22 +0100 + +nextcloud-desktop (2.6.1-2) unstable; urgency=medium + + [ Norbert Preining ] + * Add upstream patch upstream_Fix_remote_wipe_keychain_storage.patch + (Closes: #946220): + Fix gnome-keyring-daemon swamping due to permanent rewrite of remote + wipe password. + + -- Sandro Knauß Sat, 07 Dec 2019 17:10:33 +0100 + +nextcloud-desktop (2.6.1-1) unstable; urgency=medium + + [ Sandro Knauß ] + * Update depends from python-nautilus -> python3-nautilus. (Closes: #942776) + + [ Alf Gaida ] + * New upstream version 2.6.1 + * removed 0004-disable-git-hash-display.patch - will be superseded + * Make upstream cmake a bit more sane, introducing external version number + * Fixed FTBFS in tests because of a wrong include + * Fixed debian/rules - use newly introduced EXTERNAL_VERSION + * Fixed debian/watch - replaced template with package name + + -- Alf Gaida Sun, 17 Nov 2019 20:35:13 +0100 + +nextcloud-desktop (2.6.0-1) unstable; urgency=medium + + [ Alf Gaida ] + * New upstream release + * Added myself as uploader + * Added build dependency libcloudproviders-dev (Closes: #941577) + * Added some build dependencies for libcloudproviders: + - appstream, needed for libcloudproviders tests + - libdbus-1-dev + - pkg-config + * Added build dependency texlive-latex-base to silence cmake a bit more + * Added gbp.conf and some comments in README.source + * Switched dh_missing to --fail-missing and installed or removed the + missed files + + [ Sandro Knauß ] + * Update copyright file + * Bump Standards version to 4.4.1 (no changes needed). + + -- Alf Gaida Thu, 03 Oct 2019 15:12:56 +0200 + +nextcloud-desktop (2.5.3-1) unstable; urgency=medium + + [ Sandro Knauß ] + * New upstream release. + * Make nextcloud-desktop-cmd depend on nextcloud-desktop-common. + Thanks to Calogero Lo Leggio (Closes: #932108) + * Remove upstream applied patches. + * Update copyright file. + * Bump to Debhelper-compat 12. + * Bump Standards_Version to 4.4.0. + * Remove useless comment + * Fix wrong path in copyright file. + + -- Sandro Knauß Thu, 29 Aug 2019 20:15:33 +0200 + +nextcloud-desktop (2.5.1-3) unstable; urgency=medium + + * Fix "Subfolders of moved folders not synced" (Closes: #929079) + Added 0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch + + -- Sandro Knauß Thu, 16 May 2019 16:14:50 +0200 + +nextcloud-desktop (2.5.1-2) unstable; urgency=medium + + [ Adrian Heine ] + * Fix VCS urls + + [ Louis-Philippe Véronneau ] + * Add man page (Closes: #921344) + + -- Sandro Knauß Tue, 12 Feb 2019 23:54:02 +0100 + +nextcloud-desktop (2.5.1-1) unstable; urgency=medium + + * Initial release (Closes: #847613) + + -- Sandro Knauß Tue, 15 Jan 2019 22:32:03 +0100 diff --git a/clean b/clean new file mode 100644 index 000000000..284590fd6 --- /dev/null +++ b/clean @@ -0,0 +1,110 @@ +theme.qrc +theme/black/state-error-128.png +theme/black/state-error-16.png +theme/black/state-error-256.png +theme/black/state-error-32.png +theme/black/state-error-64.png +theme/black/state-info-128.png +theme/black/state-info-16.png +theme/black/state-info-256.png +theme/black/state-info-32.png +theme/black/state-info-64.png +theme/black/state-offline-128.png +theme/black/state-offline-16.png +theme/black/state-offline-256.png +theme/black/state-offline-32.png +theme/black/state-offline-64.png +theme/black/state-ok-128.png +theme/black/state-ok-16.png +theme/black/state-ok-256.png +theme/black/state-ok-32.png +theme/black/state-ok-64.png +theme/black/state-pause-128.png +theme/black/state-pause-16.png +theme/black/state-pause-256.png +theme/black/state-pause-32.png +theme/black/state-pause-64.png +theme/black/state-sync-128.png +theme/black/state-sync-16.png +theme/black/state-sync-256.png +theme/black/state-sync-32.png +theme/black/state-sync-64.png +theme/black/state-warning-128.png +theme/black/state-warning-16.png +theme/black/state-warning-256.png +theme/black/state-warning-32.png +theme/black/state-warning-64.png +theme/colored/1024-Nextcloud-icon.png +theme/colored/128-Nextcloud-icon.png +theme/colored/16-Nextcloud-icon.png +theme/colored/24-Nextcloud-icon.png +theme/colored/256-Nextcloud-icon.png +theme/colored/32-Nextcloud-icon.png +theme/colored/48-Nextcloud-icon.png +theme/colored/512-Nextcloud-icon.png +theme/colored/64-Nextcloud-icon.png +theme/colored/state-error-128.png +theme/colored/state-error-16.png +theme/colored/state-error-256.png +theme/colored/state-error-32.png +theme/colored/state-error-64.png +theme/colored/state-offline-128.png +theme/colored/state-offline-16.png +theme/colored/state-offline-256.png +theme/colored/state-offline-32.png +theme/colored/state-offline-64.png +theme/colored/state-ok-128.png +theme/colored/state-ok-16.png +theme/colored/state-ok-256.png +theme/colored/state-ok-32.png +theme/colored/state-ok-64.png +theme/colored/state-pause-128.png +theme/colored/state-pause-16.png +theme/colored/state-pause-256.png +theme/colored/state-pause-32.png +theme/colored/state-pause-64.png +theme/colored/state-sync-128.png +theme/colored/state-sync-16.png +theme/colored/state-sync-256.png +theme/colored/state-sync-32.png +theme/colored/state-sync-64.png +theme/colored/state-warning-128.png +theme/colored/state-warning-16.png +theme/colored/state-warning-256.png +theme/colored/state-warning-32.png +theme/colored/state-warning-64.png +theme/white/state-error-128.png +theme/white/state-error-16.png +theme/white/state-error-256.png +theme/white/state-error-32.png +theme/white/state-error-64.png +theme/white/state-info-128.png +theme/white/state-info-16.png +theme/white/state-info-256.png +theme/white/state-info-32.png +theme/white/state-info-64.png +theme/white/state-offline-128.png +theme/white/state-offline-16.png +theme/white/state-offline-256.png +theme/white/state-offline-32.png +theme/white/state-offline-64.png +theme/white/state-ok-128.png +theme/white/state-ok-16.png +theme/white/state-ok-256.png +theme/white/state-ok-32.png +theme/white/state-ok-64.png +theme/white/state-pause-128.png +theme/white/state-pause-16.png +theme/white/state-pause-256.png +theme/white/state-pause-32.png +theme/white/state-pause-64.png +theme/white/state-sync-128.png +theme/white/state-sync-16.png +theme/white/state-sync-256.png +theme/white/state-sync-32.png +theme/white/state-sync-64.png +theme/white/state-warning-128.png +theme/white/state-warning-16.png +theme/white/state-warning-256.png +theme/white/state-warning-32.png +theme/white/state-warning-64.png diff --git a/control b/control new file mode 100644 index 000000000..f3b191d16 --- /dev/null +++ b/control @@ -0,0 +1,255 @@ +Source: nextcloud-desktop +Section: net +Priority: optional +Maintainer: ownCloud for Debian maintainers +Uploaders: Sandro Knauß , Alf Gaida , +Build-Depends: debhelper-compat (= 13), cmake (>= 3.16~), +Build-Depends-Arch: dh-sequence-qmldeps, + doxygen, + extra-cmake-modules (>= 5.240.0), + libcloudproviders-dev (>= 0.3.3), + libcmocka-dev, + libdbus-1-dev, + libinotify-dev [kfreebsd-any], + libkf6archive-dev, + libkf6coreaddons-dev, + libkf6guiaddons-dev, + libkf6kio-dev, + libp11-dev, + librsvg2-bin, + libsqlite3-dev (>= 3.9.0~), + libssl-dev (>= 1.1~), + pkgconf, + python3-sphinx, + qml6-module-qt5compat-graphicaleffects, + qml6-module-qtmultimedia, + qt6-5compat-dev, + qt6-base-dev (>= 6.7.0~), + qt6-declarative-dev (>= 6.7.0~), + qt6-svg-dev, + qt6-tools-dev, + qt6-webengine-dev [amd64 arm64 i386], + qt6-websockets-dev, + qtkeychain-qt6-dev, + xauth , + xvfb , + zlib1g-dev, +Build-Depends-Indep: dh-sequence-sphinxdoc, + appstream, + jdupes, + libkf6archive-dev, + libkf6guiaddons-dev, + libp11-dev, + librsvg2-bin, + libsqlite3-dev (>= 3.9.0~), + libssl-dev (>= 1.1~), + pkgconf, + python3-sphinx, + qt6-5compat-dev, + qt6-base-dev (>= 6.7.0~), + qt6-declarative-dev (>= 6.7.0~), + qt6-svg-dev, + qt6-tools-dev, + qt6-websockets-dev, + qtkeychain-qt6-dev, + texlive-latex-base, + zlib1g-dev, +Rules-Requires-Root: no +Standards-Version: 4.7.2 +Homepage: https://nextcloud.com/install/#install-clients +Vcs-Browser: https://salsa.debian.org/owncloud-team/nextcloud-desktop +Vcs-Git: https://salsa.debian.org/owncloud-team/nextcloud-desktop.git + +Package: nextcloud-desktop +Architecture: any +Depends: libnextcloudsync0t64 (= ${binary:Version}), + libqt6sql6-sqlite, + nextcloud-desktop-common, + nextcloud-desktop-l10n, + ${misc:Depends}, + ${qml6:Depends}, + ${shlibs:Depends}, +Recommends: nextcloud-desktop-doc, +Description: Nextcloud folder synchronization tool + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + nextcloud-desktop provides the graphical client specialising in + synchronizing with cloud storage provided by Nextcloud. + +Package: caja-nextcloud +Architecture: all +Multi-Arch: foreign +Depends: caja, + nextcloud-desktop (<< ${source:Version}.1~), + nextcloud-desktop (>= ${source:Version}), + nextcloud-desktop-common, + python3-caja, + python3-gi, + ${misc:Depends}, +Enhances: caja, +Description: Nextcloud integration for Caja + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + Caja Nextcloud is an extension that integrates the Nextcloud web service with + your MATE Desktop. + +Package: dolphin-nextcloud +Architecture: any +Multi-Arch: same +Section: kde +Depends: dolphin (>= 4:24.08.0), + libnextcloudsync0t64 (= ${binary:Version}), + nextcloud-desktop, + ${misc:Depends}, + ${shlibs:Depends}, +Enhances: dolphin, +Description: Nextcloud integration for Dolphin + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + Dolphin Nextcloud is an extension that integrates the Nextcloud web service + with your Plasma Desktop (KDE). + +Package: libnextcloudsync-dev +Architecture: any +Multi-Arch: same +Depends: libnextcloudsync0t64 (= ${binary:Version}), ${misc:Depends}, +Section: libdevel +Description: Nextcloud folder synchronization - development files + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package contains the library development files. + +Package: libnextcloudsync0t64 +Provides: ${t64:Provides}, +Replaces: libnextcloudsync0, +Breaks: libnextcloudsync0 (<< ${source:Version}), +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, ${shlibs:Depends}, +Section: libs +Description: Nextcloud folder synchronization - libraries + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package provides the library for nextcloud-desktop. + +Package: nautilus-nextcloud +Architecture: all +Multi-Arch: foreign +Section: gnome +Depends: nautilus, + nextcloud-desktop (<< ${source:Version}.1~), + nextcloud-desktop (>= ${source:Version}), + nextcloud-desktop-common, + python3-nautilus, + ${misc:Depends}, +Suggests: nautilus-script-manager, +Enhances: nautilus, +Description: Nextcloud integration for Nautilus + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + Nautilus Nextcloud is an extension that integrates the Nextcloud web service + with your GNOME Desktop. + +Package: nemo-nextcloud +Architecture: all +Multi-Arch: foreign +Depends: nemo, + nemo-python, + nextcloud-desktop (<< ${source:Version}.1~), + nextcloud-desktop (>= ${source:Version}), + nextcloud-desktop-common, + ${misc:Depends}, +Enhances: nemo, +Description: Nextcloud integration for Nemo + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + Nemo Nextcloud is an extension that integrates the Nextcloud web service with + your Cinnamon Desktop. + +Package: nextcloud-desktop-cmd +Architecture: any +Depends: libnextcloudsync0t64 (= ${binary:Version}), + libqt6sql6-sqlite, + nextcloud-desktop-common, + nextcloud-desktop-l10n, + ${misc:Depends}, + ${shlibs:Depends}, +Description: folder synchronization with an Nextcloud server - cmd client + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package provides the command line client specialising in + synchronizing with cloud storage provided by Nextcloud. + +Package: nextcloud-desktop-common +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, +Description: Nextcloud folder synchronization - common data + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package provides data that is shared between different packages. + +Package: nextcloud-desktop-doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, ${sphinxdoc:Depends}, +Built-Using: ${sphinxdoc:Built-Using}, +Section: doc +Description: Nextcloud folder synchronization - documentation + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package provides the documentation. + +Package: nextcloud-desktop-l10n +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, +Section: localization +Description: Nextcloud folder synchronization - localization + The Nextcloud desktop app lets you always have your latest files wherever + you are. Just specify one or more folders on the local machine to and a server + to synchronize to. You can configure more computers to synchronize to the same + server and any change to the files on one computer will silently and reliably + flow across to every other. + . + This package provides the localization. diff --git a/copyright b/copyright new file mode 100644 index 000000000..4293e2080 --- /dev/null +++ b/copyright @@ -0,0 +1,424 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: nextcloud-desktop +Source: https://github.com/nextcloud/desktop + +Files: * +Copyright: 2006, Alexander Neundorf + 2006, Andreas Schneider + 1997, Bob Jenkins + Camila Ayres + Camila Ayres + Caplio G4 User + 2015, Christian Kamm + Christian Kamm + Cédric Bellegarde + 2022, Claudio Cambra + Daniel Heule + 2014-2016, Daniel Molkentin + Denis Dzyubenko + Dominik Schmidt + Dominik Schmidt + Duncan Mac-Vicar P + 2021, Felix Weilbach + 1989-1991, Free Software Foundation, Inc + Hannah von Reth + 2018, J-P Nurmi + 2015, Jeroen Hoek + Jocelyn Turcotte + Julius Härtl + Kevin Ottens + Klaas Freitag + 2015, Klaas Freitag + Krzesimir Nowak + Markus Goetz + Markus Goetz + 2021, Matthieu Gallien + Michael Schuster + Michael Schuster + Michael Schuster + 2016-2021, Nextcloud GmbH + No copyright, use freely + Oleksandr Zolotov + 2015, Olivier Goffart + 2014-2016, Olivier Goffart + Public Domain + Roeland Jago Douma + Roeland Jago Douma + Roeland Jago Douma + The page number is greater than the largest page that existed in + The system is under memory pressure and wants to avoid + 2011-2014, Twitter, Inc + Unique index that do use OE_Replace by default + 2005-2014, jQuery Foundation, Inc + 2015, nocteau + 2012-2021, ownCloud GmbH + start of the transaction + 2015, t1.x=t2.y OR (t1.x=t2.z AND t1.y= + the database + the file system is read-only, then enable no-locking access + unnecessary pages cache entry allocations +License: GPL-2+ + +Files: doc/* +Copyright: 2014, Adobe Systems Incorporated + 2007, Apple Inc + 2013, Jan Kovarik + 2013, The ownCloud developers + 2011-2014, Twitter, Inc + 2005-2014, jQuery Foundation, Inc. + 2007-2013, the Sphinx team +License: CC-BY-3.0 + +Files: test/* +Copyright: Caplio G4 User +License: public-domain + +Files: admin/win/tools/NCToolsShared/utility.h + admin/win/tools/NCToolsShared/utility_win.cpp + shell_integration/windows/CMakeLists.txt + shell_integration/windows/NCContextMenu/* + shell_integration/windows/NCOverlays/* + shell_integration/windows/NCUtil/* + src/3rdparty/kmessagewidget/* + src/common/checksums.cpp + src/common/checksums.h + src/common/filesystembase.cpp + src/common/filesystembase.h + src/common/ownsql.cpp + src/common/ownsql.h + src/common/plugin.cpp + src/common/plugin.h + src/common/preparedsqlquerymanager.cpp + src/common/preparedsqlquerymanager.h + src/common/remotepermissions.cpp + src/common/remotepermissions.h + src/common/syncjournaldb.cpp + src/common/syncjournaldb.h + src/common/syncjournalfilerecord.cpp + src/common/syncjournalfilerecord.h + src/common/utility.cpp + src/common/utility.h + src/common/utility_unix.cpp + src/common/utility_win.cpp + src/common/vfs.cpp + test/testlongpath.cpp + version.h.in +Copyright: 2011, Aurélien Gâteau + 2015, Daniel Molkentin + 2014, Dominik Haumann + Dominik Schmidt + Hannah von Reth + 2013, Klaas Freitag + 2000-2013, Liferay, Inc + Michael Schuster + Olivier Goffart +License: LGPL-2.1+ + +Files: cmake/modules/* +Copyright: 2014, Aleix Pol Gonzalez + 2013-2014, Alex Merry + 2006-2010, Alexander Neundorf + 2006, Allen Winter + 2006-2013, Andreas Schneider + 2007-2010, Andreas Schneider + 2007, Daniel Gollub + 2000-2011, Kitware, Inc., Insight Software Consortium + 2006-2007, Laurent Montel + 2014, Mathieu Tarral + 2007, Matthias Kretz + 2013, Mihai Moldovan + 2011, Mike McQuaid + 2006, Oswald Buddenhagen + 2007, Pino Toscano + 2014, Ralf Habacker + 2009, Sebastian Trueg + 2009, Vittorio Giovara +License: BSD-3-Clause + +Files: src/csync/* +Copyright: 2008-2013, Andreas Schneider + 2012-2013, Dominik Schmidt + 1991-1999, Free Software Foundation, Inc + 2020, Hannah von Reth + 2012-2013, Klaas Freitag + 2012, Olivier Goffart +License: LGPL-2.1+ + +Files: doc/_shared_assets/themes/bootstrap/static/bootstrap-responsive.css + doc/_shared_assets/themes/bootstrap/static/bootstrap.css + doc/_shared_assets/themes/nextcloud_com/static/fonts/OpenSans-Bold.ttf + doc/_shared_assets/themes/nextcloud_com/static/fonts/OpenSans-Italic.ttf + doc/_shared_assets/themes/nextcloud_com/static/fonts/OpenSans-Light.ttf + doc/_shared_assets/themes/nextcloud_com/static/fonts/OpenSans-Regular.ttf + doc/_shared_assets/themes/nextcloud_release/static/bootstrap-responsive.css + doc/_shared_assets/themes/nextcloud_release/static/bootstrap.css + doc/_shared_assets/themes/nextcloud_release/static/fonts/OpenSans-Bold.ttf + doc/_shared_assets/themes/nextcloud_release/static/fonts/OpenSans-Italic.ttf + doc/_shared_assets/themes/nextcloud_release/static/fonts/OpenSans-Light.ttf + doc/_shared_assets/themes/nextcloud_release/static/fonts/OpenSans-Regular.ttf +Copyright: (en-US) : Digitized data + Digitized data + 2010-2011, Google Corporation + 2012, Twitter, Inc +License: Apache-2 + +Files: shell_integration/windows/NCContextMenu/NCClientInterface.h + shell_integration/windows/NCUtil/RemotePathChecker.cpp + shell_integration/windows/NCUtil/RemotePathChecker.h + shell_integration/windows/NCUtil/StringUtil.cpp + shell_integration/windows/NCUtil/StringUtil.h + src/3rdparty/qtlockedfile/* + src/3rdparty/qtsingleapplication/* +Copyright: 2011, Aurélien Gâteau + 2014, Digia Plc and/or its subsidiary(-ies) + 2014, Dominik Haumann + 2014-2015, ownCloud GmbH +License: GPL-2+ or LGPL-2.1 + +Files: src/3rdparty/qtlockedfile/qtlockedfile.cpp + src/3rdparty/qtlockedfile/qtlockedfile.h + src/3rdparty/qtlockedfile/qtlockedfile_unix.cpp + src/3rdparty/qtlockedfile/qtlockedfile_win.cpp + src/3rdparty/qtsingleapplication/qtlocalpeer.cpp + src/3rdparty/qtsingleapplication/qtlocalpeer.h + src/3rdparty/qtsingleapplication/qtsingleapplication.cpp + src/3rdparty/qtsingleapplication/qtsingleapplication.h + src/3rdparty/qtsingleapplication/qtsinglecoreapplication.cpp + src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h +Copyright: 2014, Digia Plc and/or its subsidiary(-ies) +License: LGPL-2.1 + +Files: test/csync/* +Copyright: 2008-2013, Andreas Schneider + 1991-1999, Free Software Foundation, Inc + 2013-2015, Klaas Freitag +License: LGPL-2.1+ + +Files: src/3rdparty/QProgressIndicator/* +Copyright: 2011, Morgan Leborgne +License: Expat + +Files: src/3rdparty/kirigami/* +Copyright: 2019, Marco Martin +License: LGPL-2.0-or-later + +Files: cmake/modules/GetGitRevisionDescription.cmake + cmake/modules/GetGitRevisionDescription.cmake.in +Copyright: 2009-2010, Iowa State University +License: BSL-1 + +Files: cmake/modules/FindInotify.cmake +Copyright: 2017, Adriaan de Groot + 2016, Tobias C. Berner +License: BSD-2-Clause + +Files: admin/win/tools/NCToolsShared/3rdparty/* +Copyright: 2006-2012, Brodie Thiesfield +License: Expat + +Files: src/csync/csync_version.h.in +Copyright: 2006-2012, Andreas Schneider +License: GPL-2+ + +License: Apache-2 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems a full copy of the Apache 2.0 can be found at + /usr/share/common-licenses/Apache-2.0 + +License: BSD-2-Clause + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSL-1 + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +License: CC-BY-3.0 + Creative Commons Legal Code + . + Attribution 3.0 Unported + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + . + License + . + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE + COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY + COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS + AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE + TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY + BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS + CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND + CONDITIONS. + +License: Expat + The MIT License (MIT) + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +License: GPL-2+ + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + . + You should have received a copy of the GNU Lesser General Public + lisence along with this program. If not, see https://www.gnu.org/licenses/. + . + On Debian systems a full copy of the GPL 2 can be found at + /usr/share/common-licenses/GPL-2 + +License: LGPL-2.0-or-later + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.0 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + lisence along with this program. If not, see https://www.gnu.org/licenses/. + . + On Debian systems a full copy of the LGPL 2.1 can be found at + /usr/share/common-licenses/LGPL-2.0 + +License: LGPL-2.1 + This file may be used under the terms of the GNU Lesser General Public + License version 2.1 as published by the Free Software Foundation and + appearing in the file LICENSE.LGPL included in the packaging of this file. + Please review the following information to ensure the GNU Lesser General + Public License version 2.1 requirements will be met: + http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + . + You should have received a copy of the GNU Lesser General Public + lisence along with this program. If not, see https://www.gnu.org/licenses/. + . + On Debian systems a full copy of the LGPL 2.1 can be found at + /usr/share/common-licenses/LGPL-2.1 + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + license along with this program. If not, see https://www.gnu.org/licenses/. + . + On Debian systems a full copy of the LGPL 2.1 can be found at + /usr/share/common-licenses/LGPL-2.1 + +License: public-domain + This software is in the public domain, furnished "as is", without technical + support, and with no warranty, express or implied, as to its usefulness for + any purpose. + diff --git a/dolphin-nextcloud.install b/dolphin-nextcloud.install new file mode 100644 index 000000000..0bb125377 --- /dev/null +++ b/dolphin-nextcloud.install @@ -0,0 +1,3 @@ +usr/lib/*/nextcloud/libnextclouddolphinpluginhelper.so +usr/lib/*/qt6/plugins/kf6/overlayicon/nextclouddolphinoverlayplugin.so +usr/lib/*/qt6/plugins/kf6/kfileitemaction/nextclouddolphinactionplugin.so diff --git a/dolphin-nextcloud.lintian-overrides b/dolphin-nextcloud.lintian-overrides new file mode 100644 index 000000000..bd4ca8cdb --- /dev/null +++ b/dolphin-nextcloud.lintian-overrides @@ -0,0 +1,2 @@ +# nextclouddolphin plugins use private libraries +custom-library-search-path RUNPATH /usr/lib/*/nextcloud [usr/lib/*/qt6/plugins/*/nextclouddolphin*plugin.so] diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 000000000..64a48e205 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,6 @@ +[DEFAULT] +debian-branch = debian/unstable +upstream-branch = upstream +pristine-tar = True +compression = gz + diff --git a/libnextcloudsync-dev.install b/libnextcloudsync-dev.install new file mode 100644 index 000000000..0c06a9819 --- /dev/null +++ b/libnextcloudsync-dev.install @@ -0,0 +1,3 @@ +usr/include/nextcloudsync/ +usr/lib/*/libnextcloudsync.so +usr/lib/*/libnextcloud_csync.so diff --git a/libnextcloudsync0t64.install b/libnextcloudsync0t64.install new file mode 100644 index 000000000..6bfb4cbc1 --- /dev/null +++ b/libnextcloudsync0t64.install @@ -0,0 +1,2 @@ +usr/lib/*/libnextcloudsync.so.* +usr/lib/*/libnextcloud_csync.so.* diff --git a/libnextcloudsync0t64.lintian-overrides b/libnextcloudsync0t64.lintian-overrides new file mode 100644 index 000000000..89b8474e6 --- /dev/null +++ b/libnextcloudsync0t64.lintian-overrides @@ -0,0 +1,3 @@ +# libnextcloud isn't used outside this package, so we ship no symbol file +libnextcloudsync0t64: no-symbols-control-file usr/lib/*/libnextcloudsync.so.* +libnextcloudsync0t64: no-symbols-control-file usr/lib/*/libnextcloud_csync.so.* diff --git a/nautilus-nextcloud.install b/nautilus-nextcloud.install new file mode 100644 index 000000000..f8ebe0890 --- /dev/null +++ b/nautilus-nextcloud.install @@ -0,0 +1 @@ +usr/share/nautilus-python/extensions/syncstate-Nextcloud.py diff --git a/nemo-nextcloud.install b/nemo-nextcloud.install new file mode 100644 index 000000000..769a2e906 --- /dev/null +++ b/nemo-nextcloud.install @@ -0,0 +1 @@ +usr/share/nemo-python/extensions/syncstate-Nextcloud.py diff --git a/nextcloud-desktop-cmd.install b/nextcloud-desktop-cmd.install new file mode 100644 index 000000000..e0d85fc7c --- /dev/null +++ b/nextcloud-desktop-cmd.install @@ -0,0 +1 @@ +usr/bin/nextcloudcmd diff --git a/nextcloud-desktop-cmd.manpages b/nextcloud-desktop-cmd.manpages new file mode 100644 index 000000000..2a2caa216 --- /dev/null +++ b/nextcloud-desktop-cmd.manpages @@ -0,0 +1 @@ +usr/share/man/man1/nextcloudcmd.1 diff --git a/nextcloud-desktop-common.install b/nextcloud-desktop-common.install new file mode 100644 index 000000000..76646c334 --- /dev/null +++ b/nextcloud-desktop-common.install @@ -0,0 +1,3 @@ +usr/share/icons/hicolor/*/apps/Nextcloud_*png +usr/share/icons/*/*/apps/Nextcloud.png +etc/Nextcloud diff --git a/nextcloud-desktop-doc.doc-base b/nextcloud-desktop-doc.doc-base new file mode 100644 index 000000000..362ceea49 --- /dev/null +++ b/nextcloud-desktop-doc.doc-base @@ -0,0 +1,11 @@ +Document: nextcloud-desktop +Title: Debian nextcloud-desktop Manual +Author: Nextcloud developers +Abstract: This manual describes what nextcloud-desktop is + and how it can be used to manage online manuals + on Debian systems. +Section: Network/File Transfer + +Format: HTML +Index: /usr/share/doc/nextcloud-desktop/html/index.html +Files: /usr/share/doc/nextcloud-desktop/html/*.html diff --git a/nextcloud-desktop-doc.install b/nextcloud-desktop-doc.install new file mode 100644 index 000000000..d2c8b5fe3 --- /dev/null +++ b/nextcloud-desktop-doc.install @@ -0,0 +1 @@ +usr/share/doc/client/nextcloud-client/html/unthemed/* usr/share/doc/nextcloud-desktop/html/ diff --git a/nextcloud-desktop-l10n.install b/nextcloud-desktop-l10n.install new file mode 100644 index 000000000..cd36c0747 --- /dev/null +++ b/nextcloud-desktop-l10n.install @@ -0,0 +1 @@ +usr/share/nextcloud/i18n diff --git a/nextcloud-desktop.docs b/nextcloud-desktop.docs new file mode 100644 index 000000000..b43bf86b5 --- /dev/null +++ b/nextcloud-desktop.docs @@ -0,0 +1 @@ +README.md diff --git a/nextcloud-desktop.install b/nextcloud-desktop.install new file mode 100644 index 000000000..5e628df95 --- /dev/null +++ b/nextcloud-desktop.install @@ -0,0 +1,5 @@ +usr/bin/nextcloud +usr/lib/*/qt6/plugins/nextcloudsync_vfs_*.so +usr/share/applications/com.nextcloud.desktopclient.nextcloud.desktop +usr/share/dbus-1/services/com.nextcloudgmbh.Nextcloud.service +usr/share/mime/packages/nextcloud.xml diff --git a/nextcloud-desktop.lintian-overrides b/nextcloud-desktop.lintian-overrides new file mode 100644 index 000000000..9ecd04b23 --- /dev/null +++ b/nextcloud-desktop.lintian-overrides @@ -0,0 +1,2 @@ +# false positive: Implements is listed in https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s06.html +nextcloud-desktop: desktop-entry-contains-unknown-key Implements [usr/share/applications/com.nextcloud.desktopclient.nextcloud.desktop:*] diff --git a/nextcloud-desktop.manpages b/nextcloud-desktop.manpages new file mode 100644 index 000000000..cbea9f4ba --- /dev/null +++ b/nextcloud-desktop.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/nextcloud.1 diff --git a/nextcloud-desktop.qmlfiles b/nextcloud-desktop.qmlfiles new file mode 100644 index 000000000..a0e8b8e51 --- /dev/null +++ b/nextcloud-desktop.qmlfiles @@ -0,0 +1 @@ +-qmlFiles src/gui/*qml src/gui/filedetails/*qml src/gui/tray/*qml diff --git a/not-installed b/not-installed new file mode 100644 index 000000000..968d18bf0 --- /dev/null +++ b/not-installed @@ -0,0 +1,2 @@ +usr/share/man/man1/nextcloud.1 +usr/share/cloud-providers/ diff --git a/patches/0001-fix-installationpath-of-dolphin-plugin.patch b/patches/0001-fix-installationpath-of-dolphin-plugin.patch new file mode 100644 index 000000000..2e4f39f13 --- /dev/null +++ b/patches/0001-fix-installationpath-of-dolphin-plugin.patch @@ -0,0 +1,41 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Tue, 15 Jan 2019 22:21:35 +0100 +Subject: Debianize installation folder for kde plugin + +Origin: Debian +Forwarded: not-needed +Last-Update: 2023-02-04 + +Inside debian we want that the kde plugins are directly found, +so we need to push them to known places. +--- + shell_integration/dolphin/CMakeLists.txt | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/shell_integration/dolphin/CMakeLists.txt b/shell_integration/dolphin/CMakeLists.txt +index b3d317b..da27530 100644 +--- a/shell_integration/dolphin/CMakeLists.txt ++++ b/shell_integration/dolphin/CMakeLists.txt +@@ -39,7 +39,7 @@ add_library(${OWNCLOUDDOLPHINHELPER} SHARED + ownclouddolphinpluginhelper.cpp) + target_link_libraries(${OWNCLOUDDOLPHINHELPER} Qt${QT_MAJOR_VERSION}::Network) + generate_export_header(${OWNCLOUDDOLPHINHELPER} BASE_NAME ownclouddolphinpluginhelper) +-install(TARGETS ${OWNCLOUDDOLPHINHELPER} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS ${OWNCLOUDDOLPHINHELPER} LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}") + + #---OVERLAY PLUGIN--- + set(OWNCLOUDDOLPHINOVERLAYPLUGIN ${APPLICATION_EXECUTABLE}dolphinoverlayplugin) +@@ -51,6 +51,8 @@ else() + JSON ownclouddolphinoverlayplugin.json SOURCES ownclouddolphinoverlayplugin.cpp) + endif() + target_link_libraries(${OWNCLOUDDOLPHINOVERLAYPLUGIN} KF${QT_MAJOR_VERSION}::CoreAddons KF${QT_MAJOR_VERSION}::KIOCore KF${QT_MAJOR_VERSION}::KIOWidgets ${OWNCLOUDDOLPHINHELPER}) ++set_target_properties(${OWNCLOUDDOLPHINOVERLAYPLUGIN} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}") ++ + + #---ACTION PLUGIN--- + set(OWNCLOUDDOLPHINACTIONPLUGIN ${APPLICATION_EXECUTABLE}dolphinactionplugin) +@@ -58,3 +60,4 @@ configure_file(ownclouddolphinactionplugin.json.in ${OWNCLOUDDOLPHINACTIONPLUGIN + kcoreaddons_add_plugin(${OWNCLOUDDOLPHINACTIONPLUGIN} INSTALL_NAMESPACE "kf${QT_MAJOR_VERSION}/kfileitemaction" + SOURCES ownclouddolphinactionplugin.cpp) + target_link_libraries(${OWNCLOUDDOLPHINACTIONPLUGIN} KF${QT_MAJOR_VERSION}::CoreAddons KF${QT_MAJOR_VERSION}::KIOCore KF${QT_MAJOR_VERSION}::KIOWidgets ${OWNCLOUDDOLPHINHELPER}) ++set_target_properties(${OWNCLOUDDOLPHINACTIONPLUGIN} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}") diff --git a/patches/0002-use_system_buildflags.patch b/patches/0002-use_system_buildflags.patch new file mode 100644 index 000000000..f1565e96b --- /dev/null +++ b/patches/0002-use_system_buildflags.patch @@ -0,0 +1,27 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Tue, 15 Jan 2019 22:21:35 +0100 +Subject: Don't modify build flags within the package + +Origin: debian +Forwarded: not-needed +Last-Update: 2021-01-03 + +For being able to have full control over the build process, we need +full control over the build flags set. That's why it is recommended to disable +any modification from these flags from package side. +--- + src/csync/CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/csync/CMakeLists.txt b/src/csync/CMakeLists.txt +index 7c7a8e5..00c7813 100644 +--- a/src/csync/CMakeLists.txt ++++ b/src/csync/CMakeLists.txt +@@ -14,7 +14,6 @@ set(LIBRARY_SOVERSION "0") + # add definitions + include(DefineCMakeDefaults) + include(DefinePlatformDefaults) +-include(DefineCompilerFlags) + include(DefineOptions.cmake) + + include(DefineInstallationPaths) diff --git a/patches/0003-Use-release-version-for-Debian.patch b/patches/0003-Use-release-version-for-Debian.patch new file mode 100644 index 000000000..d985e42e2 --- /dev/null +++ b/patches/0003-Use-release-version-for-Debian.patch @@ -0,0 +1,22 @@ +From: =?utf-8?q?Christian_G=C3=B6ttsche?= +Date: Mon, 4 Jan 2021 14:15:00 +0100 +Subject: Use release version for Debian + +Forwarded: not-needed +--- + VERSION.cmake | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/VERSION.cmake b/VERSION.cmake +index 3fe5f77..1600bcd 100644 +--- a/VERSION.cmake ++++ b/VERSION.cmake +@@ -64,3 +64,8 @@ endif() + # ------------------------------------ + # Not used anymore. For brander, please maintain craftmaster.ini + set(QT_MAJOR_VERSION 6) ++ ++# Version from Debian changelog ++if( EXTERNAL_VERSION ) ++ set( MIRALL_VERSION_STRING "${EXTERNAL_VERSION} (Debian built)" ) ++endif( EXTERNAL_VERSION ) diff --git a/patches/0004-Don-t-use-GuiPrivate.patch b/patches/0004-Don-t-use-GuiPrivate.patch new file mode 100644 index 000000000..c018f58eb --- /dev/null +++ b/patches/0004-Don-t-use-GuiPrivate.patch @@ -0,0 +1,34 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Fri, 3 Feb 2023 18:09:41 +0100 +Subject: Don't use GuiPrivate. + +It is not used anymore and it was patched out before. + +Forwarded: not-needed +--- + src/gui/CMakeLists.txt | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt +index 2bfa004..d3fb5aa 100644 +--- a/src/gui/CMakeLists.txt ++++ b/src/gui/CMakeLists.txt +@@ -3,10 +3,6 @@ find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS Widgets Svg Qml Quick Qui + find_package(KF6Archive REQUIRED) + find_package(KF6GuiAddons) + +-if (NOT TARGET Qt::GuiPrivate) +- message(FATAL_ERROR "Could not find GuiPrivate component of Qt. It might be shipped as a separate package, please check that.") +-endif() +- + if(CMAKE_BUILD_TYPE MATCHES Debug) + add_definitions(-DQT_QML_DEBUG) + endif() +@@ -556,7 +552,6 @@ target_link_libraries(nextcloudCore + PUBLIC + Nextcloud::sync + Qt::Widgets +- Qt::GuiPrivate + Qt::Svg + Qt::Network + Qt::Xml diff --git a/patches/0004-GIT_SHA1-points-to-the-sha1-of-upstream.patch b/patches/0004-GIT_SHA1-points-to-the-sha1-of-upstream.patch new file mode 100644 index 000000000..f715da192 --- /dev/null +++ b/patches/0004-GIT_SHA1-points-to-the-sha1-of-upstream.patch @@ -0,0 +1,27 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Tue, 30 Jul 2024 12:35:29 +0200 +Subject: GIT_SHA1 points to the sha1 of upstream. + +Origin: Debian +Forwarded: not-needed +Last-Update: 2024-07-30 +--- + CMakeLists.txt | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b7448b..ee4a394 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -112,9 +112,8 @@ include(GNUInstallDirs) + include(DefineInstallationPaths) + include(GenerateExportHeader) + +-include(GetGitRevisionDescription) +- +-get_git_head_revision(GIT_REFSPEC GIT_SHA1) ++# On Debian we always have use a released version ++set(GIT_SHA1 "GITDIR-NOTFOUND") + + add_definitions( + -DQT_DISABLE_DEPRECATED_BEFORE=0x051200 diff --git a/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch b/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch new file mode 100644 index 000000000..98a320e50 --- /dev/null +++ b/patches/0006-Revert-better-logs-and-factor-common-code-in-folder-.patch @@ -0,0 +1,41 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Sun, 5 Jan 2025 20:33:16 +0100 +Subject: Revert "better logs and factor common code in folder permissions + handling" + +This reverts commit 1417e8cb60e84762f94345b21d587fb54bc90b51. +--- + src/libsync/owncloudpropagator.cpp | 19 ++++++++----------- + 1 file changed, 8 insertions(+), 11 deletions(-) + +diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp +index e239f05..04e556f 100644 +--- a/src/libsync/owncloudpropagator.cpp ++++ b/src/libsync/owncloudpropagator.cpp +@@ -1497,18 +1497,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status) + } + } else { + try { +- const auto permissionsChangeHelper = [] (const auto fileName) +- { +- qCDebug(lcDirectory) << fileName << "permissions changed: old permissions" << static_cast(std::filesystem::status(fileName.toStdWString()).permissions()); +- FileSystem::setFolderPermissions(fileName, FileSystem::FolderPermissions::ReadWrite); +- qCDebug(lcDirectory) << fileName << "applied new permissions" << static_cast(std::filesystem::status(fileName.toStdWString()).permissions()); +- }; +- +- if (const auto fileName = propagator()->fullLocalPath(_item->_file); FileSystem::fileExists(fileName)) { +- permissionsChangeHelper(fileName); ++ if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) { ++ qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); ++ FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite); ++ qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); + } +- if (const auto fileName = propagator()->fullLocalPath(_item->_renameTarget); !_item->_renameTarget.isEmpty() && FileSystem::fileExists(fileName)) { +- permissionsChangeHelper(fileName); ++ if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) { ++ qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); ++ FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite); ++ qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); + } + } + catch (const std::filesystem::filesystem_error &e) diff --git a/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch b/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch new file mode 100644 index 000000000..7a502f27f --- /dev/null +++ b/patches/0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch @@ -0,0 +1,182 @@ +From: =?utf-8?q?Sandro_Knau=C3=9F?= +Date: Sun, 5 Jan 2025 23:17:28 +0100 +Subject: Revert "ensure no any user writable permissions in Nextcloud sync + folder" + +This reverts commit 5b2af166d3d9c8537c565922750392d4a3f6610e. +--- + src/csync/csync.h | 2 -- + src/csync/vio/csync_vio_local_unix.cpp | 2 -- + src/libsync/discovery.cpp | 11 ----------- + src/libsync/discoveryphase.cpp | 1 - + src/libsync/discoveryphase.h | 1 - + src/libsync/filesystem.cpp | 1 - + src/libsync/owncloudpropagator.cpp | 14 +++++++++++--- + src/libsync/syncengine.cpp | 4 ---- + src/libsync/syncfileitem.h | 2 -- + 9 files changed, 11 insertions(+), 27 deletions(-) + +diff --git a/src/csync/csync.h b/src/csync/csync.h +index 8329020..ff1ec56 100644 +--- a/src/csync/csync.h ++++ b/src/csync/csync.h +@@ -218,7 +218,6 @@ struct OCSYNC_EXPORT csync_file_stat_s { + bool is_hidden BITFIELD(1); // Not saved in the DB, only used during discovery for local files. + bool isE2eEncrypted BITFIELD(1); + bool is_metadata_missing BITFIELD(1); // Indicates the file has missing metadata, f.ex. the file is not a placeholder in case of vfs. +- bool isPermissionsInvalid BITFIELD(1); + + QByteArray path; + QByteArray rename_path; +@@ -246,7 +245,6 @@ struct OCSYNC_EXPORT csync_file_stat_s { + , is_hidden(false) + , isE2eEncrypted(false) + , is_metadata_missing(false) +- , isPermissionsInvalid(false) + { } + }; + +diff --git a/src/csync/vio/csync_vio_local_unix.cpp b/src/csync/vio/csync_vio_local_unix.cpp +index 8f319a3..b68eb31 100644 +--- a/src/csync/vio/csync_vio_local_unix.cpp ++++ b/src/csync/vio/csync_vio_local_unix.cpp +@@ -169,7 +169,5 @@ static int _csync_vio_local_stat_mb(const mbchar_t *wuri, csync_file_stat_t *buf + buf->inode = sb.st_ino; + buf->modtime = sb.st_mtime; + buf->size = sb.st_size; +- buf->isPermissionsInvalid = (sb.st_mode & S_IWOTH) == S_IWOTH; +- + return 0; + } +diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp +index a97585a..769a559 100644 +--- a/src/libsync/discovery.cpp ++++ b/src/libsync/discovery.cpp +@@ -1117,10 +1117,6 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo( + if (_queryLocal != NormalQuery && _queryServer != NormalQuery) + recurse = false; + +- if (localEntry.isPermissionsInvalid) { +- recurse = true; +- } +- + if ((item->_direction == SyncFileItem::Down || item->_instruction == CSYNC_INSTRUCTION_CONFLICT || item->_instruction == CSYNC_INSTRUCTION_NEW || item->_instruction == CSYNC_INSTRUCTION_SYNC) && + item->_direction != SyncFileItem::Up && + (item->_modtime <= 0 || item->_modtime >= 0xFFFFFFFF)) { +@@ -1149,13 +1145,6 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo( + } + } + +- if (localEntry.isPermissionsInvalid && item->_instruction == CSyncEnums::CSYNC_INSTRUCTION_NONE) { +- item->_instruction = CSYNC_INSTRUCTION_UPDATE_METADATA; +- item->_direction = SyncFileItem::Down; +- } +- +- item->isPermissionsInvalid = localEntry.isPermissionsInvalid; +- + auto recurseQueryLocal = _queryLocal == ParentNotChanged ? ParentNotChanged : localEntry.isDirectory || item->_instruction == CSYNC_INSTRUCTION_RENAME ? NormalQuery : ParentDontExist; + processFileFinalize(item, path, recurse, recurseQueryLocal, recurseQueryServer); + }; +diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp +index 9b72732..51813ae 100644 +--- a/src/libsync/discoveryphase.cpp ++++ b/src/libsync/discoveryphase.cpp +@@ -371,7 +371,6 @@ void DiscoverySingleLocalDirectoryJob::run() { + i.isSymLink = dirent->type == ItemTypeSoftLink; + i.isVirtualFile = dirent->type == ItemTypeVirtualFile || dirent->type == ItemTypeVirtualFileDownload; + i.isMetadataMissing = dirent->is_metadata_missing; +- i.isPermissionsInvalid = dirent->isPermissionsInvalid; + i.type = dirent->type; + results.push_back(i); + } +diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h +index 0c9edce..913f37f 100644 +--- a/src/libsync/discoveryphase.h ++++ b/src/libsync/discoveryphase.h +@@ -107,7 +107,6 @@ struct LocalInfo + bool isVirtualFile = false; + bool isSymLink = false; + bool isMetadataMissing = false; +- bool isPermissionsInvalid = false; + [[nodiscard]] bool isValid() const { return !name.isNull(); } + }; + +diff --git a/src/libsync/filesystem.cpp b/src/libsync/filesystem.cpp +index 3150819..28c3533 100644 +--- a/src/libsync/filesystem.cpp ++++ b/src/libsync/filesystem.cpp +@@ -507,7 +507,6 @@ bool FileSystem::setFolderPermissions(const QString &path, + case OCC::FileSystem::FolderPermissions::ReadOnly: + break; + case OCC::FileSystem::FolderPermissions::ReadWrite: +- std::filesystem::permissions(stdStrPath, std::filesystem::perms::others_write, std::filesystem::perm_options::remove); + std::filesystem::permissions(stdStrPath, std::filesystem::perms::owner_write, std::filesystem::perm_options::add); + break; + } +diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp +index 480baa8..220d7f7 100644 +--- a/src/libsync/owncloudpropagator.cpp ++++ b/src/libsync/owncloudpropagator.cpp +@@ -1470,9 +1470,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status) + try { + if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) { + FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadOnly); ++ qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); ++ std::filesystem::permissions(propagator()->fullLocalPath(_item->_file).toStdWString(), std::filesystem::perms::owner_write | std::filesystem::perms::group_write | std::filesystem::perms::others_write, std::filesystem::perm_options::remove); ++ qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); + } + if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) { + FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadOnly); ++ qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); ++ std::filesystem::permissions(propagator()->fullLocalPath(_item->_renameTarget).toStdWString(), std::filesystem::perms::owner_write | std::filesystem::perms::group_write | std::filesystem::perms::others_write, std::filesystem::perm_options::remove); ++ qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); + } + } + catch (const std::filesystem::filesystem_error &e) +@@ -1496,13 +1502,15 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status) + } else { + try { + if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) { +- qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); + FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite); +- qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); ++ qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); ++ std::filesystem::permissions(propagator()->fullLocalPath(_item->_file).toStdWString(), std::filesystem::perms::owner_write, std::filesystem::perm_options::add); ++ qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); + } + if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) { +- qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); + FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite); ++ qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); ++ std::filesystem::permissions(propagator()->fullLocalPath(_item->_renameTarget).toStdWString(), std::filesystem::perms::owner_write, std::filesystem::perm_options::add); + qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); + } + } +diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp +index e24ce8a..8237905 100644 +--- a/src/libsync/syncengine.cpp ++++ b/src/libsync/syncengine.cpp +@@ -362,10 +362,6 @@ void OCC::SyncEngine::slotItemDiscovered(const OCC::SyncFileItemPtr &item) + const bool isReadOnly = !item->_remotePerm.isNull() && !item->_remotePerm.hasPermission(RemotePermissions::CanWrite); + modificationHappened = FileSystem::setFileReadOnlyWeak(filePath, isReadOnly); + } +- if (item->isPermissionsInvalid) { +- const auto isReadOnly = !item->_remotePerm.isNull() && !item->_remotePerm.hasPermission(RemotePermissions::CanWrite); +- FileSystem::setFileReadOnly(filePath, isReadOnly); +- } + + modificationHappened |= item->_size != prev._fileSize; + +diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h +index 154d13a..041e48d 100644 +--- a/src/libsync/syncfileitem.h ++++ b/src/libsync/syncfileitem.h +@@ -344,8 +344,6 @@ public: + bool _isLivePhoto = false; + QString _livePhotoFile; + +- bool isPermissionsInvalid = false; +- + QString _discoveryResult; + + /// if true, requests the file to be permanently deleted instead of moved to the trashbin diff --git a/patches/series b/patches/series new file mode 100644 index 000000000..b0deb47c4 --- /dev/null +++ b/patches/series @@ -0,0 +1,7 @@ +0001-fix-installationpath-of-dolphin-plugin.patch +0002-use_system_buildflags.patch +0003-Use-release-version-for-Debian.patch +0004-GIT_SHA1-points-to-the-sha1-of-upstream.patch +0004-Don-t-use-GuiPrivate.patch +0006-Revert-better-logs-and-factor-common-code-in-folder-.patch +0007-Revert-ensure-no-any-user-writable-permissions-in-Ne.patch diff --git a/qmldeps.overrides b/qmldeps.overrides new file mode 100644 index 000000000..ac8ef3896 --- /dev/null +++ b/qmldeps.overrides @@ -0,0 +1,2 @@ +com.nextcloud.desktopclient nextcloud-desktop +Style nextcloud-desktop diff --git a/rules b/rules new file mode 100755 index 000000000..f2089f6ca --- /dev/null +++ b/rules @@ -0,0 +1,63 @@ +#!/usr/bin/make -f +export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=+lto + +include /usr/share/dpkg/pkg-info.mk + +webengine_archs := amd64 arm64 i386 +ifeq ($(DEB_HOST_ARCH), $(filter $(DEB_HOST_ARCH),$(webengine_archs))) +BUILD_WEBENGINE := ON +else +BUILD_WEBENGINE := OFF +endif + +CONFIGURE_OPTIONS := -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_UPDATER=OFF \ + -DPLUGINDIR=/usr/lib/$(DEB_HOST_GNU_TYPE)/qt6/plugins \ + -DEXTERNAL_VERSION=$(DEB_VERSION) + +%: + dh $@ + +override_dh_auto_configure: +ifeq (-i,$(findstring -i, $(DH_INTERNAL_OPTIONS))) + @echo " -- Configure for arch all only build --" + dh_auto_configure -- \ + -DBUILD_TESTING=OFF \ + -DBUILD_SHELL_INTEGRATION_DOLPHIN=OFF \ + -DBUILD_WITH_WEBENGINE=OFF \ + $(CONFIGURE_OPTIONS) +else + dh_auto_configure -- \ + -DUNIT_TESTING=ON \ + -DBUILD_WITH_WEBENGINE=$(BUILD_WEBENGINE) \ + $(CONFIGURE_OPTIONS) +endif +execute_before_dh_auto_build-arch: + dh_auto_build -- doc-man + @echo "blhc: ignore-line-regexp: .*/CMakeCXXCompilerABI.cpp.*" + #tests are not built with all hardening, to debug stuff more easily + @echo "blhc: ignore-line-regexp: .*Test.dir/.*" + @echo "blhc: ignore-line-regexp: .*/check_.*.dir/.*" + @echo "blhc: ignore-line-regexp: .*/test/csync/torture_.*" + @echo "blhc: ignore-line-regexp: .*/test/.*" + @echo "blhc: ignore-line-regexp: .*/LargeSyncBench\.dir/.*" + +# unfortunately icons and translations are installed only together with the gui, so we need to run dh_auto_build +execute_before_dh_auto_build-indep: + dh_auto_build -- doc-html + dh_auto_build -- -C shell_integration/nautilus + +override_dh_auto_test-arch: + mkdir -p obj-$(DEB_HOST_GNU_TYPE)/config + - LC_ALL=C.UTF-8 XDG_CONFIG_HOME=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/config xvfb-run -a \ + -s "-screen 0 1024x768x24 +extension RANDR +extension RENDER +extension GLX" \ + -- dh_auto_test --no-parallel + rm -r obj-$(DEB_HOST_GNU_TYPE)/config + +override_dh_auto_test-indep: + +execute_after_dh_sphinxdoc: + $(RM) -v debian/tmp/usr/share/doc/client/nextcloud-client/html/unthemed/.buildinfo + +execute_after_dh_link-indep: + jdupes -rl debian/nextcloud-desktop-doc/usr diff --git a/salsa-ci.yml b/salsa-ci.yml new file mode 100644 index 000000000..6739488e4 --- /dev/null +++ b/salsa-ci.yml @@ -0,0 +1,8 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml + +variables: + SALSA_CI_LINTIAN_FAIL_WARNING: 1 + SALSA_CI_DISABLE_BUILD_PACKAGE_TWICE: 0 + SALSA_CI_DISABLE_REPROTEST: 1 diff --git a/source/format b/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 000000000..df1e22900 --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,29 @@ +# autogenerated Windows files can be ignored +source-contains-autogenerated-visual-c++-file [shell_integration/windows/NCContextMenu/resource.h] +source-contains-autogenerated-visual-c++-file [shell_integration/windows/NCUtil/resource.h] +# Official documentation used by Nextcloud on their website, it is not installed in the Debian package +source-contains-prebuilt-javascript-object [doc/_shared_assets/themes/*/static/bootstrap-*/js/bootstrap.min.js] +source-contains-prebuilt-javascript-object [doc/_shared_assets/themes/*/static/bootstrap.js] +source-contains-prebuilt-javascript-object [doc/_shared_assets/themes/*/static/jquery.js] +source-contains-prebuilt-javascript-object [doc/_shared_assets/themes/*/static/js/jquery-*.min.js] +source-is-missing [doc/_shared_assets/themes/*/static/bootstrap.js] +source-is-missing [doc/_shared_assets/themes/*/static/jquery.js] +source-is-missing [doc/_shared_assets/themes/*/static/js/jquery-*.min.js] +very-long-line-length-in-source-file * [cmake/modules/Copyright.txt:*] +very-long-line-length-in-source-file * [doc/_shared_assets/themes/bootstrap/static/*] +very-long-line-length-in-source-file * [doc/_shared_assets/themes/nextcloud_com/static/*] +very-long-line-length-in-source-file * [doc/_shared_assets/themes/nextcloud_release/static/*] +very-long-line-length-in-source-file * [doc/architecture.rst:*] +very-long-line-length-in-source-file * [doc/faq.rst:*] +very-long-line-length-in-source-file * [src/libsync/vfs/cfapi/shellext/CMakeLists.txt:*] +very-long-line-length-in-source-file * [test/testfiletagmodel.cpp:*] +very-long-line-length-in-source-file * [translations/client_*] +# test files have long json data representing a chat message +very-long-line-length-in-source-file * [test/testtalkreply.cpp*] +# these are images, fonts, binary files etc. +very-long-line-length-in-source-file * [*.base64:*] +very-long-line-length-in-source-file * [*.db:*] +very-long-line-length-in-source-file * [*.enc:*] +very-long-line-length-in-source-file * [*/DS_Store.in:*] +# sphinx is correctly using Built-Using +built-using-field-on-arch-all-package (in section for nextcloud-desktop-doc) Built-Using ${sphinxdoc:Built-Using}, * diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 000000000..22db32ba7 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,4 @@ +Bug-Database: https://github.com/nextcloud/desktop/issues +Bug-Submit: https://github.com/nextcloud/desktop/issues/new +Repository: https://github.com/nextcloud/desktop.git +Repository-Browse: https://github.com/nextcloud/desktop diff --git a/watch b/watch new file mode 100644 index 000000000..87748eb29 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 + https://github.com/nextcloud/desktop/tags \ + (?:.*?/)?v?(\d[\d.]*)\.tar\.gz